//! $Id: Container.h 27 2011-09-16 13:28:08Z skagget77 $
//!
//! @file    Container.h
//! @author  Johan Andersson <skagget77@gmail.com>
//! @date    Sat Oct 03 14:41 2009
//! @ingroup IoCpp
//!

#if !defined(IOCPP_CONTAINER_H)
#define IOCPP_CONTAINER_H

#include "IContainer.h"

namespace IoCpp
{
   //!
   //! @author  Johan Andersson <skagget77@gmail.com>
   //! @date    Sat Oct 03 14:41 2009
   //! @ingroup IoCpp
   //!
   //! The Container factory.
   //!
   class IOCPP_API Container
   {
   public :
      //!
      //! Returns the container. The container can be used to inject instances
      //! of types managed by the container.
      //!
      //! @return The container.
      //!
      static IContainerPtr GetInstance();

   private :
      // Prevent instances.
      Container();
   };
}

#endif   // IOCPP_CONTAINER_H
